{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1-数据可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import pandas as pd\n",
    "import scipy.io as sio"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# data1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['__header__', '__version__', '__globals__', 'X'])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mat = sio.loadmat('./data/ex7data1.mat')\n",
    "mat.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>X1</th>\n",
       "      <th>X2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.381563</td>\n",
       "      <td>3.389113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.527875</td>\n",
       "      <td>5.854178</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2.655682</td>\n",
       "      <td>4.411995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2.765235</td>\n",
       "      <td>3.715414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.846560</td>\n",
       "      <td>4.175506</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         X1        X2\n",
       "0  3.381563  3.389113\n",
       "1  4.527875  5.854178\n",
       "2  2.655682  4.411995\n",
       "3  2.765235  3.715414\n",
       "4  2.846560  4.175506"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1 = pd.DataFrame(mat.get('X'), columns=['X1', 'X2'])\n",
    "data1.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sns.set(context=\"notebook\", style=\"white\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa5e00b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa718da0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lmplot('X1', 'X2', data=data1, fit_reg=False)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# data2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>X1</th>\n",
       "      <th>X2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.842080</td>\n",
       "      <td>4.607572</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5.658583</td>\n",
       "      <td>4.799964</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>6.352579</td>\n",
       "      <td>3.290854</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2.904017</td>\n",
       "      <td>4.612204</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3.231979</td>\n",
       "      <td>4.939894</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         X1        X2\n",
       "0  1.842080  4.607572\n",
       "1  5.658583  4.799964\n",
       "2  6.352579  3.290854\n",
       "3  2.904017  4.612204\n",
       "4  3.231979  4.939894"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mat = sio.loadmat('./data/ex7data2.mat')\n",
    "data2 = pd.DataFrame(mat.get('X'), columns=['X1', 'X2'])\n",
    "data2.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVwAAAFcCAYAAACEFgYsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnX9wHPV999+791N38kmWbEWRjW2wY088GUIM4z5kyEMZ\nKw11AwSCgYQq0yHTOgxtQkgdGk/GQ4eW8CNJYWAAN22ePGOnIThxEjpN6DzypCRpKI6xwaUQGZz4\np3QWkiyddKe721/PH6td7d7t/dTt3q/3ayZBWu3tfm9lve/z/Xzfn89X0DRNAyGEENcR6z0AQghp\nFyi4hBDiERRcQgjxCAouIYR4BAWXEEI8oiEEV5ZlnDt3DrIs13sohBDiGq4K7t69e3H77bfjlltu\nwYEDBwqeF4/HsW3bNsTjcTeHQwghdcXv1oVfeeUVHDt2DN/73vcwPz+Pb3/7227dihBCmgLXBPdX\nv/oVNm7ciHvuuQdzc3P48pe/7NatCCGkKXBNcC9evIjR0VE8++yzOHfuHO6++268+OKLEATBrVsS\nQkhD45rgdnd347LLLkMwGMRll12GUCiEqakp9Pb2unVLQghpaFxbNLvyyivxy1/+Epqm4cKFC5if\nn0d3d7dbtyOEkIbHtQj3uuuuw29+8xvceuut0DQNe/bsgc/nc+t2hBDS8LgmuAC4UEYIIRYaovCB\nEELaAQouIYR4BAWXEEI8wtUcLiHlcHRkHMOHzyA+mUR/bxSDW9dgy6a+eg+LkJpDwSV15ejIOPb9\n9E3z+7GJOfN7ii5pNVpCcBkhNS/Dh884Hj90+Ax/h6TlaHrBbeQIiR8EpYlPJp2PTzkfJ6SZafpF\ns2IRUj0xPgjGJuagaZr5QXB0ZLyu42o0+nujzsd7nI8T0sw0veA2aoTUqB8Ejcbg1jWOx7cVOE5I\nM9P0KYX+3ijGJubyj9c5QmrUD4JGw0ixHDp8BvGpJPp7otjG1AtpUZpecAe3rrHlcA3qHSE16gdB\nI7JlUx8FlrQFTS+4jRohNeIHARfxCKkvTS+4QGNGSI32QdCIbg6nDwAA/FAgLUtLCG6jYgjF8OEz\nGJtMmgtpXgmIVdAuzmYQ9AuIhAO2c+rld3X6ANh78DgAzRxjI3woEFJLKLguUs+oMvfes8ms+bVV\ndOu1iOfk4kgsjLFRPhQIqTUUXAu1znHWs4oq994BvwhJVpFISjZBq/UiXrnP0MnFIcmq4zXp7CCt\nAgV3ATei0Xpaw3LvHYsGMTmTzhO1Wi7iVfIMnVwcAb+zLZzODtIqUHAXcCMarac1LPfekbAfQBiS\nrEIUBVcW8Sp5hk4ujlg0CEDLe329LX7VQlcIyYWCu4Ab0Wg9rWFO946E/Rjavtm1P/pKnmEhF4fT\nsWYUqUZ0hZD6Q8FdwI1otJ7WsHLuXesIrNJnWMjO1wqCxC5oxAkK7gJuRaP19AgXu3duBHby3DSO\njYwj1hnE+lXdVYlvIxZ71AuWdhMnKLgLNFqhgttYI7BUWsbkTBoAkJjLVj39bbdnWAyWdhMnKLgW\nGrFizS2sEVjC4tG1uhiqmf620zMsBqN94gQFtw05OjKOi7MZzCazCPhFZCQFoiAAsFuzOP2tHkb7\nxAkKbgtQyeKXkbsN+nWBlWQViqIBPkAUBMSi7hVFtBuM9kkuFNwmp1L7kZG7NarNEkkJqqZB0zT0\ndodtVWiNMP2ll5W0EhTcJqdS+5E1dxsJB0yBnc/IWL+qu6Gmv/SyklajrQW30aKnasZTqf3Iunqe\nSktIJCVIsopYNNgQImuFXlbSajT9nmbV0mibPFYzHmPx6+yFOcQnU0ilZfNnhfKvRs/ZVFrCu9Np\npNIysrKC2VQWew8eb6hNLullJa1G20a4pTZ59DrytftiFyPPp55/DX952xV593da/NK9tGFEwv6C\n+VfjOt/87quQFRUCBPh9IjQNmJxJ48ChE0XfazlReK1mDvSyklajbQW3UPR08vwMRsvMG9YyJWGM\nJ5WWMDmTMY8nUlnH+zstfkmyCklWi/ZLMMY8Oy9BgACfKJiWMAA4PZYoOMZycqrFzjHGXe7zopeV\ntBptK7iFoqespKAj5Ms7nps3XMqCjpNQG+NJJCXbuQGf6Hj/QotfoiiUVc6raRo0DVAVDYIC+P2i\nTXidGD58xoy+M1kFGjQIgmCLwgvNHA4Mn0A6u5jyKOd50ctKWo22FdxC0VMg4JzWzs0bVrugU0io\nr758AGMTc3n9avWWhfn3r2a6bYzZmusF9IaIsqLC7xOxtj9W8PUnz09jciYDVdUgqyqgARo0TEzP\n47F9R3DzdRsKzhxOxxN4T08k73ip50UvK2kl2nbRbMumPgxt34yBFZ0QRQEDKzoxtH0z1q/qdjw/\nV8iqXdApJNSnRxMY2r5ZF1hBr/jq7Qov9LHNv/9ggWl1sem2MeZEMgu/T4Q1njXSCzsGNxZ8fVbS\nPwwUVVsQWx0Neg75Rz9/B6FA/uygGFwAI+1E20a4QOHoqZy8YbULOsWEesumPvzlbVeUdf9qptvG\nmCVZhSgI8PtFvcoMeq/crs5g0deHAiJmoUe11jbhhnBLsgoUyEqs7Y/ZUgrmmLgARtqIthZcJ5yE\nbO1ADMOHz2D/z94yc67VLuiUEupq+tjeef37bYtWhRamjDEb+5uJggDRL6C3K4RIOICBFZ1Fx37Z\nqm5o2jTGL6YgLwi1AECw9GHISgqGtm92bCzOBTDS7giapuXvaeIx586dw7Zt23Do0CGsXr263sOx\nkZtzNRjavhlA5Qs6xa5XTq6y1HhKXfvoyDgOHDqBt89MI+AXEYsuLriVGoNx71RaQnxy3oxz/T59\nwa23K4SeWAeWx8KOgn90ZJwLYKStYYRbgmKLY7uGrqqqfaHx+mqEp9h4Cn1yWhemjDRKNeJnHXtG\nUjEzl4EgCAgFfGbTm6lE2kwdjE3MYe/B19ET60BGUjyv5mu0SkJCKLglcKPaqdyVdyfBKDaeQnOV\nQnuKVWNfs74uV7StYgsseooTSQn9vRFPeyGwDwNpRCi4JahXtVMhwQgH/QUXn7SF85x+VupeucIK\noKRg5Yr2fY+/ZLuu4SmWFLvVzYteCOzDQBoRCm4JrItj1pLbcNCPoyPjrv3x5gpGKi0jkcxCVlX4\nRRGxaNC0jAGwLUxZxxnwi7j68oGC9ykm7LnXiUUDRQUr98PJ8BQbxRsGXljB2IeBNCIU3BIY4nJg\n+ATOjs8h4NP9semsXFFl2YHhEzg1lgAEYF1/DDsGNxZ9nVUwrHuOAUBsWQCJZBaCIGD9qi5b/vWd\nc9M4MHwCWVkvTBAE4NDh09iwutvR6XDsxDigwczBmiXCigKfuFh9pvdqyEAQpguOOde5YbghjOIN\nQ8AFAXh03xFXc6rsw0AaEVcF9+abb0Znp241Wr16Nb72ta+5eTvXMEpWL+nLt02VU1m29+Drtv4I\nb5+dxt6Dx7HzlssLvjYU8OHUWELfkUHVm8yIooCAXzRLeQdWdGLX0FW21x377Tg0bTGq1JvSZHBg\n+IQt92oIo7RQzPDuxTQgwBRYVQU0TTUdCAZG8UOh52Q8k/hUEuveG8NUIo1I2G/rEdHbFXY9p1rI\ntrd2IIZH9x3hQhqpC64JbiaTgaZp2Ldvn1u38JSlVJbl9kcA9GqvQmJ9dGQcU4m0OSVXVA2ABj9E\n2xY4Tvc+VaD5zOn44nFrusKIQhVV3/VBEATT7qVpgKJoEP2LghssUUmWm9c1FtaOnRhfSEvYUyFu\n5VQL+alfPj5qnsOFNOI1rgnub3/7W8zPz+Ouu+6CLMu47777cMUVV7h1O9dZSmVZbn8EQF9IKiTW\nw4fPLIhSGIlkVl900gC/T7BtgeN47+L9Z8wxGQQDIlJpGaphcdA0QNBTEUavBAh6xByLBrF+VVfp\nG1gwBPi+x1+C1fJt5KTPjs+5ll7IFf9H9x1xPI8LacQrXBPccDiMz372s9ixYwdOnTqFP//zP8eL\nL74Iv78508ZLqyzLF92ATzQFM9cl8Lvz0+gI+REJ+xem43oOV82xfTnde11/DG+fzc+zrn3vYlMa\n48MjlZaQnJdNccXCf0RB76sgKyp8omBLpWzbuqYqf6t9p4nFnHTAL+LkuWkcGxlHrDOI9au6XZvm\ncyGN1BvXmtdceumluPHGGyEIAi699FJ0d3fj3Xffdet2nhAO+hGfSuHCVArhkL+s6rDBrWtsaQAD\nY0sbp50eZuayto5ekbAfvV1hxKJBW6Mdp3vvGNyI3q6wvt25pQnOjm2LTWkM21ciKUFW1IWUxSKq\nulhBFvD7bPcEUNVOGdZmO4lk1vw6GBAxOaOnTxJzWVd33ujvdZ6NcCGNeIVr4eYPfvADnDhxAg88\n8AAuXLiAubk5rFy50q3buYIRyZ08P43EXBaxaBD9Cy0G05l8L6wTWzb1YectH8SB4RNmHnXte2PY\nsU13KThNc2NR3YVgzXVGwuUJvH6/y3Hg0AmcHktAA9ATC+edAwAP/9/DeWJroGka+pZHsGF1t21h\nrtppuTWnenZ8zrSZWfPb1lmAG9N8NjQn9cY1wb311lvxla98BZ/61KcgCAIeeuihpkonWFfyE3PZ\nvC1sAODAoRNlTa2LVXU5TXMj4QAEQY8qizXQKXTNd85N49RowvTPTiXmHYsWgn4f5jOK4zV8PtFx\nq56lTMuN5/DoviNmesHq3gj4Fydcbkzz2dCc1BvXFDAYDOIb3/iGW5d3HetKvjXyMiLPVFrG2Qtz\nuOQ9en6z1Ip3obxnocW49asWI8tKylSPjozjRz9/xxyz4Z8F7FHj0ZHxvEbkBgKAWCToGFHXwt9q\njTQDfhGZrAJF1aBqGuKTKcSiAWxYvbzs61UCG5qTetK2DchLYY3krJGXUaaaSGZtxw0OOZSUFtuR\nt5xG4k5VZ/HJFB7bfwSP7jtiy3cOHz7j6IpIJCVb1Dh8+AxCQR98ot3WIACIdgQcN64Eqmt8fnRk\nHI/uO4L7Hn/JTEkMbd+McMiPrKxAUlTTimZ8QKwdKLzzBCHNSvPM8T3GGsnFogEzSjQKCiRZRW9X\nKO91TlPhUh3HjK8LTXOLVZ3lRrvxyaTprbUiyaotCo1PJhGLBhf64mq6DxcaBAi4+boNjlVpJ89P\nIyup0DQNoiAgGBCxflV30Wm5UfhhVLCNTSRx8txFbNu6FumMjKDfZ/p9ZUVFKOBDTyyM06OFN7Mk\npFmh4BbAOu217ozb1RnCwIrOok1kcimV9yw1zbWKv3WF3xphG+mC/t4okvOSTZSNc61R6OI1F72+\nAZ+IdQMx3GZxNFh74Frzrb1dYXSE/CVzoAeGT9heZ0SwL7x0EiuXd9gaoQO6MyIS9tOqVSZsQdlc\nUHALkLvAsmH1cpu4FGoE7jS1Xmrec3DrGuw9eByJZBbJ9ML25j7BsepscOsaRyG9+boNAGCWtYYC\nPqTS0kKZ8OI/A6t9DFiMznOr5Yxcdik3QaHKt9l5CSuXd+RF40bKhlat0rAFZfNBwS1CscizkhXv\n2tiRjC1tBMu3i/nXUlv0APZ2i3p0LiAc1POo1vOsvQZOnp9GJOTPT1EsCGPJSLRA5ZuROrama4DF\nlA2tWqVhC8rmoy0Ft9Q0rNxpWrkr3rXY5cFoWGOd2lu9ulaBchqXk382EvajJxYu6oZIzGUBTcuL\nRA1hLBWJFqp8W7VQvWZN10iyinUDix7laminKTYr55qPthPcUtMwt6ZpS7EjWf+wrAIlKyoGVnSW\nJd7l/HE6RUyxaBCJZDYvEjVaLpaKRHcMbjTTIUZ6IxYN4q4bPgCgcMqmGtptis0WlM1H2wluqWlY\nI07Tcv+wirVnLHUNo2mMURSxzmK/ci7C8Jt9dwVBdykEA768PryFMCrfCkX3tXymjfi7cxNWzjUf\nbSe4pSI9r6ZplTQlr8UflrHwZnUvSLKKqZl5c+eKwkUYXWULuxPGexo+fAZjk0lTGGstgu02xWbl\nXPPRdoJbahrmxTSt0qbkuX9YQb/ek3b/z97C8OEzZeUpt2zqQ08sbItujS3SjQjQrYjJq6l+O06x\nWTnXXLSd4JYSFTdFx1jMuTibwVwqm3dOsabkxh/WUsRL36o8knfc6gcGah8xeTXV5xSbNDptJ7il\nRMUN0ckVydlkFllZydu+plhTcoNyxKvSvg39PdG819x5/fuXLIbGNQ+/GTcXy6ye31pP9TnFJo1O\n2wkuUHoaVutpWq5ImtvaKBrg08taNWjwiULJLWxy85S5OycEAyJeeSNupg2S81lTZIvt81XrKb/1\nQybgEx27rbkx1ecUmzQybSm4XpMrkrFoEJmsAllRISuL/WgFQTAXsQCUjFLzd064iPjkPHw+AaIg\n5HUKK9S3wY0pv/WaVktZIe8wIe0ABdcD8m1dfqxc3oF3L85D0TRAA0IBEctjIUTCARw4dMLW4Nwa\ncVqjVGtfBaOZtwYNigLbxo/WTmFOEeD+n73lOO6lTPlr4R0mpNVge0YPcGppGAn7sbKnA5cNxHDZ\nqhhW9XWawnS6QP8BI+Ic2r4ZAys69UICv4jeLl2oJVnfTt1odWiQ2yksFze2nsm9ZiQcQH9vBFs3\n92PX0FUUW9KWUHA9wCqS1v3B1q/qdjzfedMbu5tg19BV2Lq5H/29EVOoA34RPp+w2G9hgdxOYblU\n0+O2FG5ck5BmhykFjyi0mOO0iLWuP1ZW68fcRTA9V6pi2bIgspJi6xRW7n5jtVrdp2OAkHwouHWk\n3M5eBrnRoXMLyRhOjyYqFjk3VvfpGCDEDgW3zhQTpXKiQ4oaIc0DBbdBqaWQtlPLQkIaGQpui2Pd\nIieRlHAmPotjI+O4+boNtq10CCHuQ5dCizN8+IzZtNy6dfqPfv6ObbdfQoj7UHBbnPhkMm8/MkDv\n2+C0pTshxD0ouC1Of280bz8yQO9v0Kp9YglpVCi4Lc7g1jW27dQNYtFgS/eJJaQRoeC2OFs29eHm\n6zbooitgoRRY79jFqi9CvIUuhTbgtm0bsWF1N6u+CKkzFNw2gQUShNQfphQIIcQjKLiEEOIRFFxC\nCPEICi4hhHgEBZcQQjyCgksIIR5BWxghdYJtM9sPCi4hdcBom2lg3ZmZotu6MKVASB0YLtCpjR3c\nWhsKLiF1ID7p3KmNHdxaG6YUmhzmAZuT/t4oxibm8o+zg1tLwwi3iTHygGMTc9A0zcwDcieHxmew\nQKc2dnBrbVwV3MnJSVx77bU4efKkm7dpW5gHbF62bOrD0PbNGFjRCVEUMLCiE0PbN3N20uK4llKQ\nJAl79uxBOBx26xZtD/OAzQ07uLUfrkW4jzzyCO644w709fEflFv09zrn+5gHJKQxcUVwDx48iJ6e\nHnzkIx9x4/JkAeYBCWkuXEkp/PCHP4QgCHj55Zfx1ltv4f7778czzzyDlStXunG7tsWYjnInB0Ka\nA1cE97vf/a759dDQEB544AGKrUswD0hI80BbGCGEeITrhQ/79u1z+xaEENIUMMIlhBCPoOASQohH\nUHAJIcQjKLiEEOIRFFxCCPEICi4hhHgEBZcQQjyCgksIIR5BwSWEEI+g4BJCiEdQcAkhxCMouIQQ\n4hEUXEII8QgKLiGEeAQFlxBCPIKCSwghHkHBJYQQj6DgEkKIR7i+xQ4hhFTL0ZFxDB8+g/hkEv29\nUQw2+a7UFFxCSENydGQc+376JlJpGYlkFmfiszg2Mo6br9uA27ZtrPfwqoIpBUJIQzJ8+AxSaRmT\nM2lIsgoAkGQVP/r5Ozg6Ml7n0VUHI1xCSF0plDaITyaRSGbzzpdkFYcOn2nK1AIFlxBSN4y0gcHY\nxJz5fX9vFGfis3mvCfhFxKeSno2xllBwCSEVU6vFrOHDZ/KOpdISnnr+NQQDIhRVhQABoiiYP49F\nA+jviS5p/PWCgktIi1IrUcy9zrqBGF4+Pmr+3BqVVnr9+KQ9Uk2lJUzOZAABuKSvE7FoCNOzGQBA\nKOhDLBpAJBzAtq1rKn4fjQAFl5AqqJdd6ejIOA4Mn8CpeALQgHXvjWHH4Ma8exebqlcyTqfrHBsZ\nRywaRCRsl49q8qr9vVGMTcyZ3yeSEgAg4NPX83tiIYSDPkiyiuWxEPp7otjWxNYwCi4hFVIrMavm\nvnsPHsfkTNo89vbZaew9+Dp23vJB272dpupA+aJofKAcOzEOaDAjS0BftEoks3mCW01edXDrGtuz\nNNwIsWjQPBYJ+yGKAr7xhWsrvn6jQcElpEKWKmZLua/Tqn0iKZn3NoTy8JtxBHyiTSiBfFF0itQB\nYO/B40gks0imJQgQkJEUrOwGIuEAAn4RkqLmjaOavKrxvA4dPoP4VBKxaBABv5gn5s2as82FgktI\nheTmHc3jLq+cxyeTZgRoRZJVxKeStsg74BMhyaqeDwVM0bUKV6FIXVI0M4oWIECDBlnRcDGRQSQc\nQCwaMKf+VqrNq27Z1GcKb+6YlnrtRoOCS0iF5OYdzeMuR2H6fZPIZBUoqgYNGgQICAZE9PdEbZF3\nLBrEuxfnoaga4pPziIQlxKL2xaZCkfr58Vn4RD2H6vMJkBUNAJCRdLHXF63W4vRoAvGpZE3zqrkR\nb7PnbHOh4BJSIbl5RwO3o7DBrWvwP7+bQDK9GF1q0KCoGtYOxPBf/z1mOVsDhMVzdARYKRSpqxrg\nW/haFAT4fSIURb/ewIpO1wXQGvG2GhRcQiqkXlHYlk19GFjRiVRGRnYh2gz6RfTEwjg9mrBF3tYp\nvyAsCq01z1woUl/WEUA6q5jfi4IA0S/gfZd0Y9fQVUXH2GrNZmoNBZeQKnA7CiskXBlJweqVnXnn\nx6eSuPP695uRd0ZSIC8sbPlFI5+bhiDMmK8pFKnfeO16HDp8GomkBElWEfDri287Bos3jCmUE37n\n3DROjSYowqDgEtJwlCp3LZQ/tkbep8YSECDA5xMgWiLcrLQYuTpF6msHYjg1moAgCOgI+dHVKWL5\nsjAAYP/P3sLw4TMFBdPICafSkinWggAcGD6B1X2dee+lHUWXgktIg2F0yUoks5YIM4hDC2JXLH9s\nRN47Hx7G5HQ677xgwN4gsJBDoCPkR0cISKVlTCXmTZeDVTCNsRqR68nz04Cmmc4IAMhKKjRoSKUl\nmz3NDQtdM6QzKLiENBi/Oz9tK26wpgN2FckfWwUnK6mIdviRlVRbWmD9qu6C93VyLRi+X6tYAsCB\nQyeQzsjm92MTc0jMZc00hoHhpEgkpaJ+4KVSr2KUSqHgEtJgGParXOZSWTy674gZwd15/ftNMXn+\n0An86OfvmOIaDIhIzsvo7QrbigiKOSmcXAtOvl8AOD2WwHt6IrZjsWgQ8ckUAv7FKNpIa+Rep9YW\nunoVo1QKBZeQBiN32g8AqqohlZHN/G3u1N4QW0AXSUnWI1xJViGKQllOCqf8sFU8rWgOxyJhP0JB\nH3yiAElREfCJiHYEkJyX8q5TawtdvYpRKoWCS0idyc099iwLA5pmcwnIigq/L1/8Dh0+Aw2Lkaiq\namZRhJJU8Z6eSNk9CJzyw3pPg3x57Y2FEZ9M2XLMkbAf61d1IZ2VbeeGgz70xMLIyoprFrp6FaNU\nCgWXEAe8WoBxyj2m0rpg9fcuTtnPXpizNXQB9AWtYyfGkZVVSIoKVV0URgGAomqYmcvi6Mh4WWMv\n5C/OPbZ2IIZDh08jIylQFA1ZWUEqLaN7WQh/cs0Ajv12HKfiCQgA1r43hqHtm12f1terGKVSKLiE\n5ODlAoxT7jGdVTCbzELR5iEKwKqVnXjfJd22yNHY6yvgFyEA0FR7FKpBF13D3WDcq9QHSCF/sfXY\no/uO6FfPCXxnU1kcOnwGkbAf/Qv5XevCmps0S0lwQcEdGxvDgw8+iHg8jsHBQezcuRM+n17wt3Pn\nTuzdu9ezQRLiJV4uwOTmHqcSGVyc1R0KQb9v4ZwUNlzSjdNjCfM8wz0QiwYwldAbducKoNF16+T5\nGYzW8APEaa8xTdMgyRrikylEwn5blzKvFq6aoSS4oODu3r0bH//4x7Fp0yY89dRT+NznPodnnnkG\nfr8fFy5cKHlhRVHw1a9+Fb///e8hCAL+9m//Fhs3NufWxqS9cGsBxilNkd+AW/ewCjl9D46/PYG/\nvO0KM4KDAEQ7/EgkJWQsxQyAXoorCICsaDh7YQ4agBU5bgWgeiHs743i1GgCsqrnjTWL0OvCa+9S\nZjy3ZvDJuk3BbdKnp6fxyU9+Eh/4wAfwzDPPYNmyZdi1a1fZF/75z38OAHjuuedw77334h/+4R+W\nPlpCPKC/13mhZSkLMEaaYmxiDpqmmVHmuoGY7TxlITXgE+2CO5vKYsumPuwaugrf+MK1WNcfQ3Je\nRkZSoGmLoidA7/ClapoZ8Wqq3m7RyA0bVPsBMrh1jaUhjh3rUaOfQ39PtOD7t253fnRkHI/uO4L7\nHn8Jj+470rRboRejoOD6fD68/fbbAPTmF4888gimpqawZ88eKIpS6GUmg4ODePDBBwEAo6OjiMVi\nJV5BSGMwWGChZSkLMIXSFKdHExjavhkDKzohigICfh/8omjbNBEAlkWCea9VNc2h0ABQFo6FAiJ6\nu0IIBfXUhJEGSKVlxCdTGJ1IViVsWzb1oaszZIvCBcv/DAznxLata4qmaYDCH0itJroFBXf37t3Y\nuXMn/vVf/xUAEAgE8Mwzz2BiYgLvvPNOWRf3+/24//778eCDD+KGG26ozYgJcZktm/psIjiwonPJ\nK+1GmsIQu7MX5hCfTOHk+Rlb5Hr7RzfmiS0AXP/hdbbvM5KSFwUbqBqwfFkIq/o6zYbhACApqrnY\nJskqYpFA1cK2+dJe9PdGEA0HIIoCBEGA3y8iFPLpnltBX7AznlupNE0pQW4VCuZwv/Od7+CFF15A\nMGjZWygSwc6dO/Ef//EfZd/gkUcewV//9V/jtttuw7/9278hEomUfhEhdabWCzD9vVGcPJdfsjsz\nl7HZtm7bpq9zvPjrU5hNZbEsEsT1H15nHrde70x8Vo8yBasdTAAEmO0bAVj2ItMwm8qaZb5L6W0w\nuHUNxibmEAn7F3faBdCzbDFXbP2QKuWTbZbChaVSUHA/+MEP4pOf/CQee+wxXH755VBVFU8//TT2\n79+Phx+pmSp3AAAgAElEQVR+uOSFf/zjH+PChQvYuXMnOjo6IAgCRLFgQE1IXfBiIefoyDguJtKI\nT6YA6PlZI4qNRQN5Ynfbto15ApvL4NY1ODYyjqxsT+/5fIJe6SWrtq5dAb+Im6/bgP/67zFoWn7+\ntZCwFXo+VhvWyfMzCAd9yMoKZlNZ9HSFsWNh/EYpcijgQyot5y3cGWmaZilcWCoFBfezn/0srrzy\nSuzatQt/8id/gl//+tcIBoM4ePAgBgYGSl74j/7oj/CVr3wFd955J2RZxu7duxEOh2s6eEKWghd+\nW+s9fD4BiqJBVlWEfD70xEK2VfxK2LKpDzdftwHf+/ffmgttACArKnyiD93LQrrYKouVYC8fH0U4\n6M+rBAOcha3U8zGe0ehP30RHqMM8L52R8c65abx8fHTxWFYGoCEc8iMr5VecVVu40GzOh6KFD1dc\ncQX+9E//FA8//DCWL1+O5557riyxBfT0wxNPPFGTQRLiBl74ba33CAV8kISFpuA+0XFjx0owouAD\nwyeQkRSzUYymATNzGfTE9AAnkcxiciaNRFLEiu4O+H16dG2NgMNBf15FWjnPp9A5L/76FLo67Qt9\nkXAAPcvCjrtGVFO40CwdwqwUFNypqSl89atfxdjYGH7yk5/g1Vdfxac+9Sncf//9+PjHP+7lGAlx\nBS/yhtZ7xKJBM4dr7Z61FPfDbds26qW0YwlbG8bJmQymEmmbR1aSVYxNJHHbR/XXnB2fQ8Anorcr\njHRWzhOrcp5PoXMSqWye4Oa+NpdSefPcaPZiIr/fL9B4HcKsFBTcG2+8ETfddBOeeOIJBAIBbNiw\nAVdeeSW++MUv4qWXXsJjjz3m5TgJqTlG3jC32XeuN7YW9wCwkL8MI5HMQiiyIaMhLL87P42MpCIY\nELF+VXfB6XJGUmx9FwDdA5vKyAjkNLwRBT36nF/4mdF0xngGj+0/gg9t7HMsyjDfkyUiL3ROzMHG\nlvvaSnCKZs9emMtrPwk09kJbQcH95je/ia1bt9qObdiwAT/4wQ/wta99zfWBEeI2g1vXYO/B43nO\ngamZ+ZINX6zRViig+1x14bPnEXNzk5GwH5Gwv6DNzBAWw75lol00hS33dU6iF4sGkMrpY6BqGlQV\ntrLcyZk00lm9haKqaVAUDYf/J45jI+P4gw/0O753a0ReKPd6/YfX2XK4Tq+tBKfURcAvIpHM5glu\nIy+0FRTcXLE1CIVCeOCBB9waDyGesWVTH3pi4ZytbHS7VLFpqTXaSqVlnInPAgB6u0IYm9Cw9+Dr\n6Il1mAJ89eUDOD2aKCs3aQhLbq8CY8cEp3E5iV4kHMAlfT7Tc2u0eNS0xR63RlojkcxAEASziEKS\nVWRlBS8dPYdrt6yGJKkFx14s97phdXfNmsk4pS5i0QAmE5m8443WIcwKu4WRtsZpOg4Un5Zaoy2r\nMBqlrJMzGSSSEvp7IxibmMPYxJwZ0RqR8f6fveW4qm4IS+4OCcb3TuMq1lbRKsSn47NQFA2qqpnl\nv6IgQFE1vULMqAZe8PUqqoZX3ohj19BVBaNxa07VugOFMa5KBbaQ68Apio+EA+iJdaAnFm7oDmFW\nKLik5SlmHarG/2mNtqzCKMmqKbpSTsmtUTFValXdGE/AL9qubUSlhcZVTNwMr6wR4aqKBknR87n+\ngL5Dg960XEfTFsp0BX3nBiOqzk2jTCXS5nR+qQ6BoyPjODB8Am+fnTZnGmMTmnnNQqmLHYMbG1pg\nc2ElAmlpStXoV9M3wdrcxrp1jFUkcxer4lPJsspXjfHkNhs3ynMrnS4bZcN+X37/WlUDZE3DtVtW\n53Un0wAIgv4+4lPJvOd4aizh2BCnmlJc49qnFtpPGt3GUmnJvKYb5db1gBEuaXiWYm4v5SWtxv9p\njbasVq9YNGD6WnMFs78nirEybFbW8QjCDLKSYroUcsdVyXM5/+6cY89cRVaRlVR0LwvqfXUtaJr+\n/vp7onnPcTH/a1+0qsYhYFw7N41i5K2NazZDv9tSUHBJQ7NUc3s5XtJK/5BzRbqnKwxoQFZW0BPr\nsE21DYyOWeWkL8oZT6XPRVXhuPOjqgFv/n4SWUk1K+GMdIJvoUBiKpHG2+embTYyI5rPTZ1U4xAw\nfke5aRTj60Z2HVQKBZc0NEutBnOrRr+YKB4dGS8YMddq361Kn8uySAAzOc4HQM/jzsxl4BNFvS2k\noFvDfD4BQb+IqUQakzNpKKq+Z5oezYfN4orc1Ek178X4HVlnC8BiuqaRXQeVQsElDc1Sq8Hqsblg\nqX3BqrVKWVMIYxPJvI5fQOHncuO167H/p2/Zgly9Wbloi3xFQYDo13eMUFTN0thcMHcOTiSzprOj\np6vDsTdCJRi/I2thiKSoWPfeWNMtipWCgksamqVGqI22uWC1ecjcFAIA2zY2BoWey23bNuIXR8/h\n/Ltzug1MAPyiCElR4RMFRDsCyEqq6dnVI9rF14uiAD9EaAtNzwtVyVVD7u9ow+r8fHWrQMElDU0t\nItRWWGzJTSEEA+JCM/N5RMKSGe0Wey533fiBhSq2xf61AvTm4cl5Gb1dIVO8L0yloIn2hSxRFABB\nwNbN/Y4NaJZCK/yOyoGCSxqaRotQ64U1tZJKS0jOy/oil6pBUnT/77ata4s+F+NnTz3/GrBg+Yp2\n6GW9wKIrAADW9scwutBnQoNmdiIL+X0tlVP1GgouaXjaJfophjW1YhRXiIKAUMhn5lNPjyYKvt5g\ny6Y+dC8L2Tp5hYM+JJJZW6rgnXPTePv/TS8URSz0YZA1dIT8ZrTd7r+TamDhAyFNgLVAwzrNt/p9\ny11IzN2VOBL2o783YqYKtmzqw6nRhLkBpU8UIAoCAn4Rqtq6Gzx6AQWXkCbAWmkVDIgI+MW81oTl\nLiSWU10Xn0wiEg6gvzeCUFDfGFJcKPU1aLUNHr2AKQVCmgQjteLkWADKX0gsJy9uTWHYejpYfLeN\n3He2UaHgEtJk1GIhsVRe3OoOsVaAWVMYrVQB5hUUXEIakFJ9EtxeSLSK+nxGxsxc1izrNaBboXIo\nuIQ0GI2yOaJV1IuVK5PyoeAS0mB4sZtwpThF1M22RXkxvHovFFxCGgwvdhNeKo0ShdcCL98LbWGE\nNBi5PlnzeAMtUpXTTL1Z8PK9UHAJaTCq2YXCa5ohCi8XL98LUwqENBjN0D/CrT7D9cDL90LBJaQB\nafT+EfXoM+wWXr4XCi4hpGKaIQovFy/fCwWXkAal0W1XjR6FV4JX74WCS0gDUi/bVaOLfLNDlwIh\nDUg9bFeGyI9NzEHT2IbRDRjhElInikWT9bBdNWKFW6tBwSWkDpRKGdTDdtVK3tpGhSkFQupAqZRB\nPYofmqHCrdmh4BJSB0pFk9YdHkRRwMCKTgxt3+zq1L4ZKtyaHaYUCKkD5aQMvLZdtZK3tlGh4BJS\nBxq1UquVvLWNCAWXkDrAaLI9oeASUicYTbYfXDQjhBCPoOASQohHuJJSkCQJu3fvxvnz55HNZnH3\n3Xdj27ZtbtyKEEKaBlcE94UXXkB3dzcee+wxTE9P4xOf+AQFlxDS9rgiuNdffz0+9rGPAQA0TYPP\n53PjNoQQ0lS4IrjRqG7enpubw+c//3nce++9btyGEEKaCtcWzcbGxvCZz3wGN910E2644Qa3bkMI\nIU2DKxHuxMQE7rrrLuzZswdXX321G7cghJCmw5UI99lnn0UikcDTTz+NoaEhDA0NIZ1Ou3ErQghp\nGgRN07R6D+LcuXPYtm0bDh06hNWrV9d7OIQQ4gosfCCEEI+g4BJCiEdQcAkhxCMouIQQ4hEUXEII\n8Qj2wyUNQ7FtwwlpBSi4pCEotW04Ia0AUwqkISi1bTghrQAFlzQEpbYNJ6QVoOCShqC/N+p8vMf5\nOCHNCAWXNASDBbYHr/e24YTUEi6akYagmm3D6WogzQYFlzQMlWwbTlcDaUYouMRTahWVFnM1UHBJ\no0LBJZ5Ry6iUrgbSjHDRjHhGLb22dDWQZoSCSzyjllEpXQ2kGWFKgXhGf28UYxNz+ceriEqrcTUQ\nUm8ouMQzBreuseVwDaqNSitxNRDSCFBwiWe4HZU6OSAA0KtLGgYKLnGkUvtWuee7FZU6OSD2Hnwd\ngIBI2G8eo1eX1BMKLsmjUvvWUuxebvpyE0kJAEzBNaBXl9QLuhRIHpXat6q1exlCPTYxB03TTKE+\nOjJe2YDh7ICQZBWSouafS68uqRMUXJJHpfatau1eVqFOpSXEJ1M4e2EOTz3/WsWi6+TLDfhFBHz5\n/8Tp1SX1gimFJsOLhi2V2rfKPT937L87P42OkB+ptITJmYx5XiKVrTjX6uSAiEUDAIS8c+nVJfWC\ngttEeNWwpVL7Vjnn54795LmLGL84D0EQoGkaBAgQRV0cjai0klxrIQeE0zHmb0m9oOA2EdU0bCkW\nERf6WaX2rXLOz00fTM5kIAgCFEWDBg2ABj9EiKKAWDQIoPJcayEHBAWWNAoU3Cai0lxpsYgYQNFo\nuVL7VqnzrWM33AMAoEGDpulfK5qGlV0dpqugWK6VvXBJM0LBbSIqza0Wi4i1AvdwyzJlHbskq5AV\nFYqqj0IQAGiApmmYTWUxfjEFRdUwfnEezx86gdu2bbRdq9zUCkWZNBoU3Cai0txqsYhYK6C41mi5\nloJlHbsgYFFsrSdpwGxKgigI8IsiMlkFz/+/EwBgE91yUivliDIFmXgNbWFNxJZNfRjavhkDKzoh\nigIGVnRiaPvmgiJRrIVhqfaGtfTI5o5dWFBZwfw//b8adDEO+EVzAQ0AXvz1Kdu1rB8kqbRs2smO\nnRg3x1fKG1zr90dIOTDCbTIqya0aUWUqLSGRlCDJKgJ+EVdfPoANq7uLRstOgpVKS3jq+dfQvSxU\nVURojP2+x1/C2QuzyEoqNOgOBZ8oQFJUCA42rtlU1va9kZ5IpWVMzqTN45q2mJcule/mjhGkHjDC\nbWKOjozj0X1HcN/jL+HRfUfyorMtm/pw9eUDutgqutjGokG8fHwUAIpGy7mCZTgLEqnskiPCUMAH\nAIti69MtYYIA+Hz5grssErR9bzSlSSTtQqz7bnXRLBXBc8cIUg8Y4TYp5S4cnRpNoL83Yn5vVHR9\nff8RXLGxr2CUmrtAZzgLciu3Ko0Ij46MYyoxD00D/D4RiqJBVlSEAj588H0r8dbvp/Jec/2H19m+\nN+732P4j+pj8ImLRACJhXXDjU0ncef37sffg67bIPhYNmBG80wJkKi1BkjXc9/hLzOkSV6Dguoxb\nCzPlTont+U5LRZdQvHAid4FOkvWeBIZH1rx+hRHh8OEzpjAmkhIkQRfD3u4wlkWC6IwEMJeSoGoa\nIiE/umNh/Nd/j+HUaML27LZs6sOHNvaVcG0Itv+ksyoODJ/A/p+9hVDAh1RaNi1oxrPp7QrbInin\nZ0NItVBwXcTNyrByp8TWSM6IUlVNg6po+N1oAtCAb373Vdx355W2MeUWM8SiQQT8Yl7nrUr7Ehjj\njoQXI9JUWkZ8IoWAT8TyZSEsXxZCKi0BEBDw6ZVoJ89N49jIOGKdQaxf1Y3BrWuKujZ0YfdbBFXP\n954a0yP+dFYGoCEc8iMrKZBkDb1dYXYWI67CHK6L1HLTRCtHR8ZxcTaDsxfmEJ9MLYiTTq4AWvf+\nkmQVqqZBllWoqgZN06u8Eqks9h583TEfq0FfjHpPTyTvZ0DlfQmccquJZBYBv5hzTDJztIZYSrKK\nizNpHBsZx999+xV847uv4uJsGjNzWcxnFFseOvcDybiWEakDuuj3LAvjG1+4Ft3LQoiE/bYmOvHJ\nFE6en67o/RFSDEa4LrKUhZlCuxccGD6Bt89OQxD0SFWSVTNNEAkH8gTQGqlemEphPiPn9XMRICCR\nlIr6WHMjwtzy3XJTJ4Nb12DvweNIJLNmbjUjKVjZHbadJ8mqOc5EMqt/UCgqNA0QBAWaBiiKpKcj\nusLoCPls48nN0RpCmyvsxu+ivzeKk+cu2proSLKKmbksjo6MM8olNYGC6yLVbppYbPcCI1IzChcE\nUf9akrWCnlzDjnV0ZBwP/Z/DUFTF9nOfKECSVdsHgVN0bkSEu4auKjne4qkTe9WFTxSQzqpIJFOm\nCAuCvqgGABlJMcXW+t7VhS8SySwiYb/tAyM33RDwi5Bk1XQyGBi/i8Gta3DMIcKPRYNMK5CawZSC\ni1S7lXeh3QuMqNDAqMi6pK8Ty2OhkqKwZVMf3ndJN3wLRQUC9NeLooCAX7R9EFQSnVeSOjEWzfp7\nI7jkPZ3o740gEvZjejZjvjdJVqEoGoKGfaxQWdwCRpNx69hyi0TWDcTQ2xUy88YGxu9iy6Y+dHXq\neWosFF8YOV1axUitYITrItVumlho9wJDCKyia4hNuYtXOwY3Yu/B47aCAQA2yxRQWXReTJxzUw0n\nz08jErL/s0ulZWgL6RFN0yCKui9XUVSEg34IglEOoekVaUZ0v/B6w6qWO7bcIpGjI+NFfxeXreo2\n33MqLSORzGJyJo1YNMi0AqkJFFyXqWbTRCexM3KPsWjAlmc0xCa392yhfOqWTX3YecvlOHDoBE6P\nJQAAa/tj2DG40TbOSvo2FBLnYMCHfT99E1OJDBLJDN45py9AdXYEzEW4VFpCRlIgCHq1maxqUDUN\nIgSkJQXprIxNa5ZjKpHG1GwamaxiNrsRFmqEDaua09gqseUtVubZK9gCfoEWMVITXBXc119/HV//\n+texb98+N2/TchTbvcCwLRmG/nUDMezYtrHgYpdTPrWcDwGn6HztQAzDh8/gH390HBlJRTAgYv2q\nbqwbiJmlttbFsN6uMGZTEi7OWqLphQY1AX8aPbEwEknJrDZTlMXUgaJoZkUaBCxYvDrNe2QkBZGQ\nH52RINav6nKcOVSaWzaOPfX8awDyCyqYyyVLxTXB/da3voUXXngBHR0dbt2iZSln94INq5c7ikwt\newRYhdkQr9zoD9pFjE3MYe17Y3jljbitqis+mcrfxFEABA1IzsvoCOkRrCDqAqtpmpkn0KCZkWtW\nUjC0fbPlvXeXlZqp5lls2dSH7mUhdHUG837GXC5ZKq4J7po1a/Dkk0/iy1/+slu3aGmq3b2g3MWu\nSivghg+fQSotm71qjag0kZQQCQdw/O0JWwkxoEfherrAfi1BEKBqGjpCPoSDft0fLGiQZA3CQqog\nGBRtjcirSc1Ua8ur1l1CSClccyl87GMfg9/PFLHXlGraAlTXmvB356cxOZM2+9hq0H2xGUm3mCVy\nOnoByLNgGfhEAaKZf9XPEQUBAZ8IQdAdEz3LFn251W76WM6zcKJadwkhpaAtrMUoRyyqqYDLSHpq\nILd9omHZikXyp+CRsL44ZrzGakOLRvzmOb1dIbMHbigo4n1rutEZCZTs91uKSoTT2nlt+PAZXH35\nQNl9hwkpF4agLUY5VrRqptrBgP7Z7PMJkC2LW4ZT4PoPrzPbPlr5o/+1Fr84eg7n352DqgGRDj9u\n/N/rcWo0YU7brX0VBlZ05hVWVEu5tjynxbWxiTmKLKk5FNwWpFS+s5IcpZHrTSSzer9aQYCq6jlY\nTdNTAVdfPoDbtm3EhtXdea6Gl4+PIuAXse69MfOaG1Z3l2yA7kQ1ndecnkXudS4m0o6vpSuB1BpX\nBXf16tV4/vnn3bwFqYJyPbbWyC8WCWJyJq17ZAXBLLvt7Qrj5eOj2LC6O0/cHt13xPH+hw6fMaPY\ncotCatV5zek6Zy/MOXYKoyuB1BpGuG1IuVNta65XF6Mwxi+moGpAyO9DLBo0RcopGiyVuqjEeVCt\n3e3oyDgODJ/AqbjeilIUBXR2+G0lvgG/aPZjsEJXAqk1FNw2xRCp4cNnMDaZNAWtWK43EvbDJ4rw\nAXkWMCfb2cXZDGYXWi9aCwiqEbJq8s5HR8bzypizsoL5tIyVy2GOJxYNYDKRyXs9XQmk1lBw2xAj\n6nv77LS5z5nTFF1vWThtqx6zdvGy4mQ7Cy6UI5dqIVkOlXpjj46M48nnX8PUgtj6fLoVTYAARdVM\n/7Axpp5YB3pi4Yp6XhBSKRTcOuHW1jvl3HffT99EfDIFwBDDNIBwXovDdQMxHP6fuPlao4F5JJwv\nuE62MyMNkUhmISlq0RaSpaikt4PxHmeTWWgLrSBlRYPfJy64LFRbAyAAeb0kCHEDCm4dcHPrnVIY\nYpgrOEYO0zpFPzWaQG9XKG8jxlLRYHwymd9XIRZGZyRQ9furpPOa8R6NzmqG6CqKhoBfRDjgQ2ck\nCFEUGM0ST6Hg1oFa9juoFCMXWk6bx/hk0uaRNcjKSlGvbCjgw5n47OK1F6Lonq6w4/nlRPu55xQT\nSeM9xqKBhebli9VxALA8FsLOWz5IkSWew0qzOrCUrXeWilHumlt269TmsdrS2II49BEvp8y40lJk\nY9yRcAAru8MIB3x67wdRwPsu6abYkrrBCLcOuNEcpZI9xfb99E37VuUObR6t5+ZSatErIymOqYis\nvLi1jzHeYyfGAQ02FwNgj/YrnRFYx22N0Fk5RuoNBbcOVCtkhagkJ5ybCy3U5tHp3HLznfoHipaX\nijA+UHS71utIJCUk03o/3ExWsVm1rNF+pTOCasdNiNtQcOtArQWh0giwUMFBoSi50nGV+kA5MHzC\ntIkJEPTOY6qGqUTG0atbzYygmnET4jYU3DpRS0GoRU64ls6JYrtF7P/ZW/j96AwEQffFWpvhZKXF\nRTxrtF/rGYEb1MvmR5oLCm4LUIuccK2dE067RRioKqBBhd8nmn0ZFEXf7WFgRWdetO9WiqBWIllP\nmx9pLii4LUAtIkA3nRO5Yh4MiMhIChRFg+jXI13RL+B9a7oL2s1qnSKopUjW0+ZHmgvawlqALZv6\nMLR985IaZtfcAmYhV8x7YiG9PFiAufV7b1cYO7ZtXPK9yqWaJuyFqKfNjzQXjHBbhKVGgG7mSXNT\nHro/FpBkDctjobq4CGq59xv3QCPlQsElANy1UjmJeSQcqIsv1hDQsQmjGi1oa8vo1ITHoFDaoRkW\n9UhjQMElJm5ZqRrFF2trqB4NYHImY2vcA5S/95sXi3qk9aDgkiVTzrS7EXyx9obqi5V2s6ksNqzu\nXtLeb43w/kjjQ8ElS6IRLFHl2rvyG6rrZb+iKDi6I5ibJbWGgtsmuGXMr7clqhLBdxLQVFqCJGu4\n7/GX8p4Lc7Ok1lBw2wA3o1AvLFHFPiwqEfxcAU2lJUzOZNDbFbZ1IQPsKQLmZkmtoOC2AYVE6cCh\nE0uOet2edpf6sKg0zwosCqgka4679VrFmrlZUktY+NAGOIlSKi3j7TPTZfeYLcRggel1rabdpQoU\nKi3Y2LKpD7uGrsI3vnAtupeF8sQWYMECcQ9GuG2AUxSaWNhNN5dKc69uT7tLRbBLybM24qIYm+C0\nNoxw2wCnKFSS1bxdH4DKozuzkGAyife4kOMsFcEupazZ7ei8Uird2YI0H4xw2wCnKDQc9COdlfPO\nrSS6q/VinFN0V04EW22etdEWxert+CDuQ8FtE3JFKVcsDSqJ7mopEIXEe2j7Zgxt3+yaKDbSohib\n4LQ+FNw2pRbRXS0Foph47xq6qmFE0U0aMadMagsFt41ZanRXSCCCAR8e3XekooUfRncstGgHKLgu\n08qrzk4CkUrLSKUlpDN6frjcvC6ju8bLKZPaQ8F1kUboM+AmTgIxlUg7LsaVyusyutNppJwyqT0U\nXBdph1XnXIG47/GXHM8rlRqoV3TXyjMQ0nhQcF2kHfOSS0kNeB3dtfoMhDQeLHxwETf3CWtUGq2Y\noBi13NeMkHKg4LpIM4lPrajFhpZe0Y4zEFJfmFJwkXZddW6WhR86I4jXUHBdplnEpx2hM4J4DQWX\ntC3tOgMh9YOCS9oazkCIl3DRjBBCPIKCSwghHuFaSkFVVTzwwAMYGRlBMBjE3/3d32Ht2rVu3Y4Q\nQhoe1yLc4eFhZLNZfP/738eXvvQlPPzww27dihBCmgLXBPfVV1/FRz7yEQDAFVdcgTfeeMOtWxFC\nSFPgmuDOzc2hs7PT/N7n80GW87tIEUJIu+Ca4HZ2diKZXCyRVFUVfj9daISQ9sU1wd2yZQt+8Ytf\nAABee+01bNy40a1bEUJIU+BayPnRj34U//mf/4k77rgDmqbhoYceKniuoigAgHg87tZwCCHEM/r7\n+x1n9IKmaVodxmPjyJEjuPPOO+s9DEIIqQmHDh3C6tWr8443hOCm02m88cYbWLlyJXw+X72HQwgh\nS6KhI1xCCGkHWNpLCCEeQcElhBCPoOASQohHUHAJIcQj2kJwVVXFnj17cPvtt2NoaAinT5+u95A8\nRZIk7Nq1C5/+9Kdx66234tChQ/UeUt2YnJzEtddei5MnT9Z7KJ6zd+9e3H777bjllltw4MCBeg/H\ncyRJwpe+9CXccccd+PSnP12XfwNtIbjt3rnshRdeQHd3N/7lX/4F//RP/4QHH3yw3kOqC5IkYc+e\nPQiHw/Ueiue88sorOHbsGL73ve9h3759bVlk9NJLL0GWZTz33HO455578Pjjj3s+hrYQ3HbvXHb9\n9dfjC1/4AgBA07S29To/8sgjuOOOO9DX135b6vzqV7/Cxo0bcc899+Bzn/sc/vAP/7DeQ/KcSy+9\nFIqiQFVVzM3N1aW3S1t0kynUuaxdmulEo/q233Nzc/j85z+Pe++9t84j8p6DBw+ip6cHH/nIR/CP\n//iP9R6O51y8eBGjo6N49tlnce7cOdx999148cUXIQhCvYfmGZFIBOfPn8cf//Ef4+LFi3j22Wc9\nH0NbRLjsXAaMjY3hM5/5DG666SbccMMN9R6O5/zwhz/Er3/9awwNDeGtt97C/fffj3fffbfew/KM\n7u5uXHPNNQgGg7jssssQCoUwNTVV72F5yne+8x1cc801+Pd//3f85Cc/wd/8zd8gk8l4Ooa2ENx2\n71w2MTGBu+66C7t27cKtt95a7+HUhe9+97vYv38/9u3bh/e///145JFHsHLlynoPyzOuvPJK/PKX\nvyhNOJsAAAH/SURBVISmabhw4QLm5+fR3d1d72F5SiwWw7JlywAAXV1dkGXZbJzlFW0R5lXSuawV\nefbZZ5FIJPD000/j6aefBgB861vfasvFo3bluuuuw29+8xvceuut0DQNe/bsabtc/p/92Z9h9+7d\n+PSnPw1JkvDFL34RkUjE0zGwlwIhhHhEW6QUCCGkEaDgEkKIR1BwCSHEIyi4hBDiERRcQgjxCAou\naTleeeUVXHPNNZicnDSP/fM//zP+6q/+yvz+iSeewJNPPlmP4ZE2hoJLWo4/+IM/wA033ICvfvWr\nAPRil+9///v4+7//e8zOzmL37t349re/XedRknaEPlzSkmSzWezYsQOf/OQnsX//fjzyyCP40Ic+\nhB//+McYHx9HKpWCz+ezRb2EuE1bVJqR9iMYDOLrX/86brrpJvzFX/wFPvShDwEAPvGJTwAA0wmk\nLjClQFqWo0ePYvny5Xj55Zchy3K9h0MIBZe0Ju+88w6efPJJPPfccwgGg3jmmWfqPSRCKLik9chk\nMvjiF7+IXbt24ZJLLsHDDz+M/fv347XXXqv30EibQ8ElLcdDDz2EjRs34qabbgIArFq1Cl/5ylew\na9cuW19kQryGLgVCCPEIRriEEOIRFFxCCPEICi4hhHgEBZcQQjyCgksIIR5BwSWEEI+g4BJCiEdQ\ncAkhxCP+P2L2y38M5H+9AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xb886fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lmplot('X1', 'X2', data=data2, fit_reg=False)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
